/**
 */
package gatperdut.chato.model.Chato.Entity.impl;

import gatperdut.chato.model.Chato.Entity.EntityPackage;
import gatperdut.chato.model.Chato.Entity.Scores;

import org.eclipse.emf.ecore.EClass;

import org.eclipse.emf.internal.cdo.CDOObjectImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model object '<em><b>Scores</b></em>'.
 * <!-- end-user-doc -->
 * <p>
 * The following features are implemented:
 * <ul>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getStrength <em>Strength</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getDexterity <em>Dexterity</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getConstitution <em>Constitution</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getIntelligence <em>Intelligence</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getAgility <em>Agility</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getWillpower <em>Willpower</em>}</li>
 *   <li>{@link gatperdut.chato.model.Chato.Entity.impl.ScoresImpl#getPower <em>Power</em>}</li>
 * </ul>
 * </p>
 *
 * @generated
 */
public class ScoresImpl extends CDOObjectImpl implements Scores {
	/**
     * The default value of the '{@link #getStrength() <em>Strength</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getStrength()
     * @generated
     * @ordered
     */
	protected static final int STRENGTH_EDEFAULT = 0;

	/**
     * The default value of the '{@link #getDexterity() <em>Dexterity</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getDexterity()
     * @generated
     * @ordered
     */
	protected static final int DEXTERITY_EDEFAULT = 0;

	/**
     * The default value of the '{@link #getConstitution() <em>Constitution</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getConstitution()
     * @generated
     * @ordered
     */
	protected static final int CONSTITUTION_EDEFAULT = 0;

	/**
     * The default value of the '{@link #getIntelligence() <em>Intelligence</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getIntelligence()
     * @generated
     * @ordered
     */
	protected static final int INTELLIGENCE_EDEFAULT = 0;

	/**
     * The default value of the '{@link #getAgility() <em>Agility</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getAgility()
     * @generated
     * @ordered
     */
	protected static final int AGILITY_EDEFAULT = 0;

	/**
     * The default value of the '{@link #getWillpower() <em>Willpower</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getWillpower()
     * @generated
     * @ordered
     */
	protected static final int WILLPOWER_EDEFAULT = 0;

	/**
     * The default value of the '{@link #getPower() <em>Power</em>}' attribute.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @see #getPower()
     * @generated
     * @ordered
     */
	protected static final int POWER_EDEFAULT = 0;

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	protected ScoresImpl() {
        super();
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	@Override
	protected EClass eStaticClass() {
        return EntityPackage.Literals.SCORES;
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	@Override
	protected int eStaticFeatureCount() {
        return 0;
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getStrength() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__STRENGTH, EntityPackage.Literals.SCORES__STRENGTH, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setStrength(int newStrength) {
        eDynamicSet(EntityPackage.SCORES__STRENGTH, EntityPackage.Literals.SCORES__STRENGTH, newStrength);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getDexterity() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__DEXTERITY, EntityPackage.Literals.SCORES__DEXTERITY, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setDexterity(int newDexterity) {
        eDynamicSet(EntityPackage.SCORES__DEXTERITY, EntityPackage.Literals.SCORES__DEXTERITY, newDexterity);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getConstitution() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__CONSTITUTION, EntityPackage.Literals.SCORES__CONSTITUTION, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setConstitution(int newConstitution) {
        eDynamicSet(EntityPackage.SCORES__CONSTITUTION, EntityPackage.Literals.SCORES__CONSTITUTION, newConstitution);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getIntelligence() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__INTELLIGENCE, EntityPackage.Literals.SCORES__INTELLIGENCE, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setIntelligence(int newIntelligence) {
        eDynamicSet(EntityPackage.SCORES__INTELLIGENCE, EntityPackage.Literals.SCORES__INTELLIGENCE, newIntelligence);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getAgility() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__AGILITY, EntityPackage.Literals.SCORES__AGILITY, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setAgility(int newAgility) {
        eDynamicSet(EntityPackage.SCORES__AGILITY, EntityPackage.Literals.SCORES__AGILITY, newAgility);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getWillpower() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__WILLPOWER, EntityPackage.Literals.SCORES__WILLPOWER, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setWillpower(int newWillpower) {
        eDynamicSet(EntityPackage.SCORES__WILLPOWER, EntityPackage.Literals.SCORES__WILLPOWER, newWillpower);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public int getPower() {
        return (Integer)eDynamicGet(EntityPackage.SCORES__POWER, EntityPackage.Literals.SCORES__POWER, true, true);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public void setPower(int newPower) {
        eDynamicSet(EntityPackage.SCORES__POWER, EntityPackage.Literals.SCORES__POWER, newPower);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	@Override
	public Object eGet(int featureID, boolean resolve, boolean coreType) {
        switch (featureID) {
            case EntityPackage.SCORES__STRENGTH:
                return getStrength();
            case EntityPackage.SCORES__DEXTERITY:
                return getDexterity();
            case EntityPackage.SCORES__CONSTITUTION:
                return getConstitution();
            case EntityPackage.SCORES__INTELLIGENCE:
                return getIntelligence();
            case EntityPackage.SCORES__AGILITY:
                return getAgility();
            case EntityPackage.SCORES__WILLPOWER:
                return getWillpower();
            case EntityPackage.SCORES__POWER:
                return getPower();
        }
        return super.eGet(featureID, resolve, coreType);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	@Override
	public void eSet(int featureID, Object newValue) {
        switch (featureID) {
            case EntityPackage.SCORES__STRENGTH:
                setStrength((Integer)newValue);
                return;
            case EntityPackage.SCORES__DEXTERITY:
                setDexterity((Integer)newValue);
                return;
            case EntityPackage.SCORES__CONSTITUTION:
                setConstitution((Integer)newValue);
                return;
            case EntityPackage.SCORES__INTELLIGENCE:
                setIntelligence((Integer)newValue);
                return;
            case EntityPackage.SCORES__AGILITY:
                setAgility((Integer)newValue);
                return;
            case EntityPackage.SCORES__WILLPOWER:
                setWillpower((Integer)newValue);
                return;
            case EntityPackage.SCORES__POWER:
                setPower((Integer)newValue);
                return;
        }
        super.eSet(featureID, newValue);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	@Override
	public void eUnset(int featureID) {
        switch (featureID) {
            case EntityPackage.SCORES__STRENGTH:
                setStrength(STRENGTH_EDEFAULT);
                return;
            case EntityPackage.SCORES__DEXTERITY:
                setDexterity(DEXTERITY_EDEFAULT);
                return;
            case EntityPackage.SCORES__CONSTITUTION:
                setConstitution(CONSTITUTION_EDEFAULT);
                return;
            case EntityPackage.SCORES__INTELLIGENCE:
                setIntelligence(INTELLIGENCE_EDEFAULT);
                return;
            case EntityPackage.SCORES__AGILITY:
                setAgility(AGILITY_EDEFAULT);
                return;
            case EntityPackage.SCORES__WILLPOWER:
                setWillpower(WILLPOWER_EDEFAULT);
                return;
            case EntityPackage.SCORES__POWER:
                setPower(POWER_EDEFAULT);
                return;
        }
        super.eUnset(featureID);
    }

	/**
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	@Override
	public boolean eIsSet(int featureID) {
        switch (featureID) {
            case EntityPackage.SCORES__STRENGTH:
                return getStrength() != STRENGTH_EDEFAULT;
            case EntityPackage.SCORES__DEXTERITY:
                return getDexterity() != DEXTERITY_EDEFAULT;
            case EntityPackage.SCORES__CONSTITUTION:
                return getConstitution() != CONSTITUTION_EDEFAULT;
            case EntityPackage.SCORES__INTELLIGENCE:
                return getIntelligence() != INTELLIGENCE_EDEFAULT;
            case EntityPackage.SCORES__AGILITY:
                return getAgility() != AGILITY_EDEFAULT;
            case EntityPackage.SCORES__WILLPOWER:
                return getWillpower() != WILLPOWER_EDEFAULT;
            case EntityPackage.SCORES__POWER:
                return getPower() != POWER_EDEFAULT;
        }
        return super.eIsSet(featureID);
    }

} //ScoresImpl
